var baseServer = document.getElementById('baseServer').value;

/**
 * @category 隐藏组件
 * @param apiList
 */
function wxHideMenuItems(apiList){
	wx.hideMenuItems({
	   	 menuList: apiList // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
		});
}
/**
 * @category 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
 */
function wxOnMenuShareTimeline(title,link,imgUrl){
	wx.onMenuShareTimeline({
	    title: title, // 分享标题
	    link: link, // 分享链接
	    imgUrl: imgUrl, // 分享图标
	    success: function () {}, cancel: function () {}
	});
}

/**
 * @category 获取“分享给朋友”按钮点击状态及自定义分享内容接口
 */
function wxOnMenuShareAppMessage(title,desc,link,imgUrl,type,dataUrl){
	wx.onMenuShareAppMessage({
	    title: title, // 分享标题
	    desc: desc, // 分享描述
	    link: link, // 分享链接
	    imgUrl: imgUrl, // 分享图标
	    type: type, // 分享类型,music、video或link，不填默认为link
	    dataUrl: dataUrl, // 如果type是music或video，则要提供数据链接，默认为空
	    success: function () {},cancel: function () {}
	});
}

/**
 * @category 获取“分享到QQ”按钮点击状态及自定义分享内容接口
 */
function wxOnMenuShareQQ(title,desc,link,imgUrl){
	wx.onMenuShareQQ({
	    title: title, // 分享标题
	    desc: desc, // 分享描述
	    link: link, // 分享链接
	    imgUrl: imgUrl, // 分享图标
	    success: function () {},cancel: function () {}
	});
}

/**
 * @category 分享到腾讯微博
 */
function wxOnMenuShareWeibo(title,desc,link,imgUrl){
	wx.onMenuShareWeibo({
		title: title, // 分享标题
	    desc: desc, // 分享描述
	    link: link, // 分享链接
	    imgUrl: imgUrl, // 分享图标
	    success: function () { 
	       // 用户确认分享后执行的回调函数
	    },
	    cancel: function () { 
	        // 用户取消分享后执行的回调函数
	    }
	});
}
/**
 * @category 获取“分享到QQ空间”按钮点击状态及自定义分享内容接口
 */
function wxOnMenuShareQZone(title,desc,link,imgUrl){
	wx.onMenuShareQZone({
		title: title, // 分享标题
	    desc: desc, // 分享描述
	    link: link, // 分享链接
	    imgUrl: imgUrl, // 分享图标
	    success: function () { 
	       // 用户确认分享后执行的回调函数
	    },
	    cancel: function () { 
	        // 用户取消分享后执行的回调函数
	    }
	});
}

/**
 * @param url 链接地址
 * @param apiList 所需要用到的微信JSapi
 */
function initWeChat(url,apiList){
	//ajax签名校验
	ga_ajax({
	    "method" : "post",
	    "url" : baseServer+"/wechat_js/sign",
	    "data" : {
	      "url" : url
	    },
	    "success" : function(data){
	      var dataJson =  JSON.parse(data);
	      initWeChatJsConfig(dataJson,apiList);
	    },
	    "Error" : function(text){
	    },
	    "async" : false
	  });
}

/**
 * @category 初始化JS
 * @param data
 * @param apiList
 */
function initWeChatJsConfig(data, apiList) {
	wx.config({
		debug: false,
		appId : data.appId,
		timestamp : data.timestamp,
		nonceStr : data.nonceStr,
		signature : data.signature,
		jsApiList : apiList,
	});
}

function createXHR() {
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}
}
// 转义字符
function weParams(data) {
	var arr = [];
	for ( var i in data) {
		arr.push(encodeURIComponent(i) + "=" + encodeURIComponent(data[i]));
	}
	return arr.join("&");
}
// 封装ajax
function ga_ajax(obj) {
	var xhr = createXHR();
	obj.url = obj.url + "?rand=" + Math.random(); // 清除缓存
	obj.data = weParams(obj.data); // 转义字符串
	if (obj.method === "get") { // 判断使用的是否是get方式发送
		obj.url += obj.url.indexOf("?") == "-1" ? "?" + obj.data : "&"
				+ obj.data;
	}
	// 异步
	if (obj.async === true) {
		// 异步的时候需要触发onreadystatechange事件
		xhr.onreadystatechange = function() {
			// 执行完成
			if (xhr.readyState == 4) {
				callBack();
			}
		};
	}
	xhr.open(obj.method, obj.url, obj.async); // false是同步 true是异步 //
	if (obj.method === "post") {
		xhr.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded");
		xhr.send(obj.data);
	} else {
		xhr.send(null);
	}
	// 同步
	if (obj.async === false) {
		callBack();
	}
	// 返回数据
	function callBack() {
		// 判断是否返回正确
		if (xhr.status == 200) {
			obj.success(xhr.responseText);
		} else {
			obj.Error("获取数据失败，错误代号为：" + xhr.status + "错误信息为：" + xhr.statusText);
		}
	}
}